#include <stdio.h>
#include <string.h>
#define MAX_MODES 3
#define MAX_TRIPS 5//5条出行记录

//定义出行模式的结构
typedef struct{
	char mode[20];
	int distance; // 距离（公里）
	int time;  // 时间 （分钟）
	int cost;  //费用（元）
} TravelOption;
//定义三种出行模式
TravelOption travelOptions[MAX_MODES] = {
	{"步行",2,20,0},
	{"骑行",5,10,2},
	{"驾车",15,5,10},
};
//定义出行记录的结构
typedef struct {
	char mode[20];
	int distance;
	int time;
	int cost;
} TripRecord;

//定义出行记录数据
TripRecord tripHistory[MAX_TRIPS];
int tripCount = 0;

// 定义显示出行方式的函数
void showOptions() {
	printf("\n出现模式列表：\n");
	for(int i = 0; i < MAX_MODES; i++) {
		printf("%d. %s(距离：%d 公里, 时间：%d 分钟，费用：%d 元)\n",
		i + 1, travelOptions[i].mode, travelOptions[i].distance,
		travelOptions[i].time, travelOptions[i].cost);
	}
}



void selectMode() {
	int choice;
	while (1){
		showOptions();
		printf("\n请选择出现模式(输入编号 ，0 返回主菜单)：");
		scanf("%d" , &choice);
		
		if (choice == 0) {
			printf("返回主菜单。\n");
			break;
		}
	
		if(choice >= 1 && choice <= MAX_MODES){
			TravelOption selected = travelOptions[choice - 1];//为什么要-1
			printf("\n您选择了 %s 模式。 \n", selected.mode);
			printf("详情： 距离 %d 公里 ， 需时%d费分钟，费用%d元）\n",
			 selected.distance, selected.time, selected.cost);
			//保存出行记录
		if(tripCount< MAX_TRIPS){
			tripHistory[tripCount].distance=selected.distance;
			tripHistory[tripCount].cost=selected.cost;
			tripHistory[tripCount].time=selected.time;
		//	tripHistory[tripCount].mode=selected.mode;
			strcpy(tripHistory[tripCount].mode,selected.mode);
			tripCount=tripCount+1;
			}else{
				printf("历史记录已满，无法保存更多历史记录。\n");
			}
		}
	
	}
}
int main(){	
//showOptions();
//showOptions();
   selectMode();
return 0;
}